package com.seed.core.enumeration;

import com.mybatisflex.annotation.EnumValue;

public enum Cascade {
    none("none", "无"), // 无级联操作，无视关联数据
    setnull("setnull", "置空"), // 设置为null，一对一和一对多: 关联字段置空，多对多: 删除中间表
    force("force", "强制"), // 强制级联删除, 一对一和一对多: 删除关联数据，多对多: 此选项意义
    check("check", "检查"); // 检查引用，如果有引用则不允许删除

    private final String value;
    private final String label;

    Cascade(String value, String label) {
        this.value = value;
        this.label = label;
    }

    @EnumValue
    public String getValue() { return value; }

    public String getLabel() {
        return label;
    }
}
